package endpoint

import (
	"context"
	"dssh/service"
	"github.com/go-kit/kit/endpoint"
)

// todo 定义请求格式
type UserRequest struct {
	Uid int `json:"uid"`
}

// todo 定义返回格式
type UserResponse struct {
	UName  string `json:"uname"`
	UAge   int    `json:"uage"`
	ULevel int    `json:"ulevel"`
}

func GetUserEndPoint(userService service.IUserService) endpoint.Endpoint {
	return func(ctx context.Context, request interface{}) (response interface{}, err error) {
		r := request.(UserRequest)          //todo 获取请求数据
		name := userService.GetUname(r.Uid) //todo 调用service里面函数进行处理
		age := userService.GetUage(r.Uid)
		level := userService.GetUlevel(r.Uid)

		return UserResponse{
			UName:  name,
			UAge:   age,
			ULevel: level,
		}, nil //todo 返回响应，整个接受请求到通过service处理请求，最后响应的过程，属于一种Endpoint类型
	}
}
